Contrast enhancement is a common method used to modify the appearance of an image, either on a display or on other physical support. There are many contrast enhancement methods available. Basic approaches use a single response curve to process the entire image, like linear stretching or histogram equalization. Even if the proper creation of the response curve might allow changing both local and global contrast, these approaches do not take into account the spatial distribution of pixel values on the image and therefore do not provide the optimal result.
More advanced contrast enhancement techniques use adaptive algorithms that modify the response curve based on local image characteristics. While this allows using different contrast enhancement parameters on different regions of the image, these methods still depend on what neighborhood size is used to estimate local image characteristics. Small neighborhoods provide better contrast enhancement for small objects, whereas larger neighborhoods provide better global contrast. Even if the neighborhood size could be changed between pixels, these methods do not allow processing each pixel at different scales and therefore do not provide the optimal result. While methods are available to modify the contrast of an image, operating both at image level (global contrast) and region level (local contrast), the existing methods cannot handle multiple scales simultaneously.